package metadata

const (
	Version = "v1"
	ApiBase = "/api/aiot/" + Version

	Add                      = "add"
	ApiDeviceProfileRoute    = "/" + Device + "/" + Profile
	ApiDeviceProfileAddRoute = ApiDeviceProfileRoute + "/" + Add
	ApiDeviceResourceRoute   = "/" + Device + "/{" + DeviceId + "}/" + Resource
	ApiDeviceCommandRoute    = "/" + Device + "/{" + DeviceId + "}/" + Command
	ApiDeviceAllRoute        = "/" + Device + "/" + All
	ApiDeviceRoute           = "/" + Device
	AutoEvent                = "autoEvent"
	Transport                = "transport"
	ApiAutoEventRoute        = "/" + Device + "/{" + DeviceId + "}/" + AutoEvent
	ApiTransportRoute        = "/" + Device + "/{" + DeviceId + "}/" + Transport
	DeviceStatistic          = "/" + Device + "/statistic"

	ApiProductCategoryServiceRoute    = ApiBase + "/productCategory"
	ApiAllProdcutCategoryServiceRoute = ApiProductCategoryServiceRoute + "/" + All
	ApiOwnProdcutCategoryServiceRoute = ApiProductCategoryServiceRoute + "/" + Own
	ApiProductCategoryByNameRoute     = ApiProductCategoryServiceRoute + "/" + Name
	ApiProductCategoryUpdateRoute     = ApiProductCategoryServiceRoute + "/" + Update
	ApiProductCategoryDeleteRoute     = ApiProductCategoryServiceRoute + "/" + Delete
)

// Constants related to defined url path names and parameters in the v2 service APIs
const (
	All           = "all"
	Id            = "id"
	Created       = "created"
	Modified      = "modified"
	Pushed        = "pushed"
	Origin        = "origin"
	Count         = "count"
	Device        = "device"
	DeviceId      = "deviceId"
	DeviceName    = "deviceName"
	DeviceCommand = "deviceCommand"
	Check         = "check"
	Profile       = "profile"
	Resource      = "resource"
	Service       = "service"
	Services      = "services"
	Command       = "command"
	ProfileName   = "profileName"
	SourceName    = "sourceName"
	ServiceName   = "serviceName"
	ResourceName  = "resourceName"
	ResourceNames = "resourceNames"
	CommandName   = "commandName"
	Start         = "start"
	End           = "end"
	Age           = "age"
	Scrub         = "scrub"
	Type          = "type"
	Name          = "name"
	Label         = "label"
	Manufacturer  = "manufacturer"
	Model         = "model"
	ValueType     = "valueType"
	Category      = "category"
	Receiver      = "receiver"
	Subscription  = "subscription"
	Notification  = "notification"
	Target        = "target"
	Status        = "status"
	Cleanup       = "cleanup"
	Sender        = "sender"
	Severity      = "severity"
	Interval      = "interval"
	Update        = "update"
	Delete        = "delete"
	Own           = "own"
	Offset        = "offset"         //query string to specify the number of items to skip before starting to collect the result set.
	Limit         = "limit"          //query string to specify the numbers of items to return
	Labels        = "labels"         //query string to specify associated user-defined labels for querying a given object. More than one label may be specified via a comma-delimited list
	PushEvent     = "ds-pushevent"   //query string to specify if an event should be pushed to the EdgeX system
	ReturnEvent   = "ds-returnevent" //query string to specify if an event should be returned from device service
)
